package edu.uoc.vmerinom.tfc.domain;

// Generated 21-mar-2012 12:50:22 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Casilla generated by hbm2java
 */
@Entity
@Table(name = "casillas")
public class Casilla implements java.io.Serializable {
	/** Default Serial Version ID */
	private static final long serialVersionUID = 1L;

	private Integer id;
	private Hora hora;
	private Grupo grupo;
	private Date creado;
	private Date modificado;
	private Date alta;
	private Date baja;
	private int dia;

	public Casilla() {
	}

	public Casilla(Hora hora, Date creado, Date modificado, Date alta, int dia) {
		this.hora = hora;
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.dia = dia;
	}

	public Casilla(Hora hora, Grupo grupo, Date creado, Date modificado, Date alta, Date baja, int dia) {
		this.hora = hora;
		this.grupo = grupo;
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.baja = baja;
		this.dia = dia;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "hora", nullable = false)
	public Hora getHora() {
		return this.hora;
	}

	public void setHora(Hora hora) {
		this.hora = hora;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "grupo")
	public Grupo getGrupo() {
		return this.grupo;
	}

	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "creado", nullable = false, length = 19)
	public Date getCreado() {
		return this.creado;
	}

	public void setCreado(Date creado) {
		this.creado = creado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "modificado", nullable = false, length = 19)
	public Date getModificado() {
		return this.modificado;
	}

	public void setModificado(Date modificado) {
		this.modificado = modificado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "alta", nullable = false, length = 19)
	public Date getAlta() {
		return this.alta;
	}

	public void setAlta(Date alta) {
		this.alta = alta;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "baja", length = 19)
	public Date getBaja() {
		return this.baja;
	}

	public void setBaja(Date baja) {
		this.baja = baja;
	}

	@Column(name = "dia", nullable = false)
	public int getDia() {
		return this.dia;
	}

	public void setDia(int dia) {
		this.dia = dia;
	}

}
